.TH XXD 1 "Sierpie� 1996" "Strona podr�cznika dla xxd"
.\"
.\" 21st May 1996
.\" Man page author:
.\"    Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
.\"    Changes by Bram Moolenaar <Bram@vim.org>
.SH NAZWA
.I xxd
\- zrzut pliku do hex lub odwrotnie
.SH SYNOPSIS
.B xxd
\-h[elp]
.br
.B xxd
[opcje] [plik_we [plik_wy]]
.br
.B xxd
\-r[evert] [opcje] [plik_we [plik_wy]]
.SH OPIS
.I xxd
tworzy zrzut heksowy podanego pliku lub standardowego wej�cia.
Mo�e tak�e przetworzy� zrzut heksowy z powrotem do oryginalnej,
binarnej formy.
Podobnie jak
.BR uuencode (1)
i
.BR uudecode (1)
pozwala na przekazanie danych binarnych w bezpiecznej w poczcie formie
ASCII, ale ma zalety dekodowania na standardowe wyj�cie.
Ponadto mo�na go u�y� do binarnego �atania plik�w.
.SH OPCJE
Je�li nie podano
.I plik_we
xxd czyta ze standardowego wej�cia.
Je�li okre�lono
.I plik_we
jako znak
.RB \` \- '
wtedy dane wej�ciowe czytane s� ze standardowego wej�cia.
Je�li nie podano
.I plik_wy
(lub podano jako
.RB \` \- '
), wyniki s� wysy�ane na standardowe wyj�cie.
.PP
Pami�taj, �e u�yty zosta� "leniwy" parser, kt�ry nie sprawdza wi�cej
ni� pierwszej litery opcji (o ile ta nie zosta�a obdarzona
parametrem). Spacje mi�dzy jedno literowymi opcjami i ich parametrami
s� opcjonalne. Parametry opcji mog� by� okre�lone w notacji dziesi�tnej,
heksadecymalej lub oktalnej.
St�d
.BR \-c8 ,
.BR "\-c 8" ,
.B \-c 010
i
.B \-cols 8
s� sobie r�wnowa�ne.
.PP
.TP
.IR \-a " | " \-autoskip
prze��cza autoskip: pojedyncza '*' zast�puje linie nul. Domy�lnie
wy��czone.
.TP
.IR \-b " | " \-bits
Prze��cza do zrzutu bitowego (cyfr binarnych) zamiast heksowego.
Opcja ta zapisuje oktety jako osiem cyfr 1 lub 0 zamiast normalnego
zrzutu heksowego. Ka�da linia jest poprzedzona przez
heksadecymalny numer linii a po nim jego reprezentacj� w ascii (lub
ebcdic). Opcje linii polece� \-r, \-p, \-i nie dzia�aj� w tym
trybie.
.TP
.IR "\-c cols " | " \-cols cols"
formatuje liczb�
.RI < cols >
oktet�w na wiersz. Domy�lnie 16 (\-i: 12, \-ps: 30, \-b: 6). Maks.
256.
.TP
.IR \-E " | "\-EBCDIC
zmienia kodowanie znak�w w prawej kolumnie z ASCII na EBCDIC.
Nie zmienia prezentacji heksadecymalej. Opcja nie dzia�a w po��czeniu
z \-r, \-p lub \-i.
.TP
.IR "\-g bajt�w " | " \-groupsize bajt�w"
oddziela wyj�cie ka�dych
.RI < bajt�w >
bajt�w (dwa heksowe znaki lub osiem cyfr binarnych ka�de) przez bia�y
znak.
Okre�l
.I \-g 0
by wy��czy� grupowanie.
.RI < Bajt�w "> domy�lnie jest " 2
w trybie normalnym i \fI1\fP w trybie bit�w.
Grupowanie nie dzia�a w trybie postscriptu lub w��czania.
.TP
.IR \-h " | " \-help
wypisuje podsumowanie dost�pnych polece� i ko�czy dzia�anie. Nie
zostaje przeprowadzony �aden zrzut.
.TP
.IR \-i " | " \-include
wyj�cie w stylu w��czania pliku w C. Zostaje zapisana kompletna
statyczna tablica definicji (nazwana wed�ug pliku wej�cia), o ile xxd
nie czyta ze standardowego wej�cia.
.TP
.IR "\-l len " | "\-len len"
zako�cz po wypisaniu
.RI < len >
oktet�w.
.TP
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
wyj�cie w postcriptowym ci�g�ym stylu zrzutu heksowego. Znany tak�e
jako zwyk�y zrzut heksowy.
.TP
.IR \-r " | " \-revert
odwr�� operacj�: przekonwertuj (lub za�ataj) zrzut heksowy w binark�.
Je�li nie zapisuje na standardowe wyj�cie, xxd zapisze plik wyj�ciowy
bez obcinania go. U�yj kombinacji
.I \-r \-p
by odczyta� zwyk�y zrzut heksadecymalny bez numer�w linii
i okre�lonego uk�adu kolumn. Dodatkowe bia�e znaki i �amanie wierszy
s� wsz�dzie dozwolone.
.TP
.I \-seek offset
Kiedy u�yty po
.IR \-r :
odwraca z
.RI < offset >
dodanym do pozycji w pliku odnalezionym w zrzucie heksowym.
.TP
.I \-s [+][\-]seek
zaczyna na
.RI < seek >
bajt�w bezwgl�dnego (lub wzgl�dnego) offsetu pliku wej�ciowego.
\fI+ \fRwskazuje, �e seek jest wzgl�dne do bie��cej pozycji pliku (bez
znaczenia je�li nie wczytuje ze standardowego wej�cia). \fI\- \fRwskazuje
�e seek powinno by� o tyle znak�w od ko�ca wej�cia (lub je�li
po��czone z \fI+\fR: przed bie��c� pozycj� pliku na standardowym
wej�ciu).
Bez opcji \-s xxd zaczyna od bie��cej pozycji w pliku.
.TP
.I \-u
u�yj wielkich liter w znakach heksowych. Domy�lnie s� ma�e znaki.
.TP
.IR \-v " | " \-version
pokazuje wersj� programu.
.SH OSTRZE�ENIA
.PP
.I xxd \-r
potrafi okre�li� numery linii. Je�li plik wyj�cia jest mo�liwy do
przeszukania wtedy numery linii na pocz�tku wiersza zrzutu heksowego
mog� by� nie po kolei, mo�e brakowa� wierszy lub nak�ada� si� na
siebie. W takich wypadkach xxd u�yje lseek(2) by znale�� nast�pn�
pozycj�. Je�li plik wyj�ciowy nie jest mo�liwy do przeszukania mo�liwe
s� tylko przerwy, kt�re zostan� wype�nione bajtami null.
.PP
.I xxd \-r
nigdy nie podaje b��d�w analizy. �mieci s� po cichu ignorowane.
.PP
W czasie edycji zrzut�w heksowych, prosz� zauwa�y� �e
.I xxd \-r
pomija wszystko w linii wej�cia po odczytaniu wystarczaj�cej ilo�ci
kolumn danych heksadecymalnych (zobacz opcj� \-c). Oznacza to tak�e,
�e zmiany w drukowanych kolumnach ascii (lub ebcdic) s� zawsze
ignorowane. Odwr�cenie zwyk�ego (lub postscriptowego) stylu zrzutu
poprzez xxd \-r \-p nie zale�y od kolejno�ci kolumn. Tutaj cokolwiek
co wygl�da jak para znak�w heks jest interpretowane.
.PP
Zauwa� r�nic� mi�dzy
.br
\fI% xxd \-i plik\fR
.br
i
.br
\fI% xxd \-i < plik\fR
.PP
.I xxd \-s \+seek
mo�e by� r�ne od
.IR "xxd \-s seek" ,
poniewa� lseek(2) jest u�yty do "przewini�cie" wej�cia. '+' stanowi
r�nic� je�li �r�d�em wej�cia jest standardowe wej�cie i je�li pozycja
w pliku ze standardowego wej�cia nie jest pocz�tkiem pliku w chwili
uruchomienia xxd. Nast�puj�ce przyk�ady mog� wyja�ni� (lub bardziej
zmyli�!)...
.PP
Przewi� standardowe wej�cie przed przeczytaniem; potrzebne poniewa�
`cat' ju� odczyta� do ko�ca standardowego wej�cia.
.br
\fI% sh \-c 'cat > zwyk�a_kopia; xxd \-s 0 > hex_kopia' < plik\fR
.PP
Zrzut heksowy od pozycji pliku 0x480 (=1024+128) w prz�d.
Znak `+' oznacza "wzgl�dny wobec bie��cej pozycji", st�d `128' dodaje
do 1k gdzie zako�czy� dd.
.br
\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet' < file\fR
.PP
Zrzut heksowy od pozycji pliku 0x100 ( = 1024\-768) dalej.
.br
\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +-768 > hex_snippet' < file\fR
.PP
Jakkolwiek, jest to rzadka sytuacja i u�ycie `+' jest rzadko
potrzebne.
Autor woli monitorowa� dzia�anie xxd przy pomocy strace(1) lub truss(1) kiedy \-s jest u�yte.
.SH PRZYK�ADY
.PP
.br
Wypisz wszystko z wyj�tkiem pierwszych trzech linii (heksowe 0x30 bajt�w)
.B pliku
\.
.br
\fI% xxd \-s 0x30 plik\fR
.PP
.br
Wypisz trzy linie (heksowe 0x30 bajt�w) z ko�ca
.B pliku
\.
.br
\fI% xxd \-s \-0x30 plik\fR
.PP
.br
Wypisz 120 bajt�w jako ci�g�y zrzut heksowy z 20 oktetami na lini�.
.br
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
.br
2e54482058584420312022417567757374203139
.br
39362220224d616e75616c207061676520666f72
.br
20787864220a2e5c220a2e5c222032317374204d
.br
617920313939360a2e5c22204d616e2070616765
.br
20617574686f723a0a2e5c2220202020546f6e79
.br
204e7567656e74203c746f6e79407363746e7567
.br

.br
Zrzut heksowy z pierwszymi 120 bajtami tej strony podr�cznika z 12
oktetami na lini�.
.br
\fI% xxd \-l 120 \-c 12 xxd.1\fR
.br
0000000: 2e54 4820 5858 4420 3120 2241  .TH XXD 1 "A
.br
000000c: 7567 7573 7420 3139 3936 2220  ugust 1996" 
.br
0000018: 224d 616e 7561 6c20 7061 6765  "Manual page
.br
0000024: 2066 6f72 2078 7864 220a 2e5c   for xxd"..\\
.br
0000030: 220a 2e5c 2220 3231 7374 204d  "..\\" 21st M
.br
000003c: 6179 2031 3939 360a 2e5c 2220  ay 1996..\\" 
.br
0000048: 4d61 6e20 7061 6765 2061 7574  Man page aut
.br
0000054: 686f 723a 0a2e 5c22 2020 2020  hor:..\\"    
.br
0000060: 546f 6e79 204e 7567 656e 7420  Tony Nugent 
.br
000006c: 3c74 6f6e 7940 7363 746e 7567  <tony@sctnug
.PP
.br
Poka� tylko dat� z pliku xxd.1
.br
\fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR
.br
0000036: 3231 7374 204d 6179 2031 3939 36  21st May 1996
.PP
.br
Kopiuj
.B plik_we
do
.B plik_wy
i poprzed� 100 bajtami o warto�ci 0x00.
.br
\fI% xxd plik_we | xxd \-r \-s 100 \> plik_wy\fR
.br

.br
Podmie� dat� w pliku xxd.1
.br
\fI% echo '0000037: 3574 68' | xxd \-r \- xxd.1\fR
.br
\fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR
.br
0000036: 3235 7468 204d 6179 2031 3939 36  25th May 1996
.PP
.br
Utw�rz plik o 65537 bajtach, wszystkich r�wnych 0x00,
z wyj�tkiem ostatniego, kt�ry ma by� 'A' (hex 0x41).
.br
\fI% echo '010000: 41' | xxd \-r \> plik\fR
.PP
.br
Zrzut heksowy tego pliku z autoskipem.
.br
\fI% xxd \-a \-c 12 plik\fR
.br
0000000: 0000 0000 0000 0000 0000 0000  ............
.br
*
.br
000fffc: 0000 0000 40                   ....A
.PP
Utw�rz jedno bajtowy plik zawieraj�cy pojedncz� liter� 'A'.
Liczba po '\-r \-s' dodaje numery linii znalezione w pliku;
w efekcie poprzedzaj�ce bajty s� ukryte.
.br
\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> plik\fR
.PP
U�yj xxd jako filtra wewn�trz edytora takiego jak
.B vim(1)
aby uzyska� zrzut heksowy zakresu mi�dzy markerami `a' i `z'.
.br
\fI:'a,'z!xxd\fR
.PP
U�yj xxd jako filtra wewn�trz edytora takiego jak
.B vim(1)
by odzyska� binarny zrzut heksowy zakresu pomi�dzy markerami `a'
i `z'.
.br
\fI:'a,'z!xxd \-r\fR
.PP
U�yj xxd jako filtra wewn�trz edytora takiego jak
.B vim(1)
by odzyska� jedn� lini� zrzutu heksowego. Przejd� z kursorem na lini�
i wpisz:
.br
\fI!!xxd \-r\fR
.PP
Odczytaj pojednycze znaki z portu szeregowego
.br
\fI% xxd \-c1 < /dev/term/b &\fR
.br
\fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR
.br
\fI% echo \-n foo > /dev/term/b\fR
.PP
.SH "ZWRACANE WARTO�CI"
Zwracane s� nast�puj�ce warto�ci b��d�w:
.TP
0
nie znaleziono b��d�w.
.TP
\-1
operacja nie jest wspierana (
.I xxd \-r \-i
ca�y czas niemo�liwa).
.TP
1
b��d w czasie analizowania opcji.
.TP
2
problemy z plikiem wej�ciowym.
.TP
3
problemy z plikiem wyj�ciowym.
.TP
4,5
��dana pozycja jest nieosi�galna.
.SH "ZOBACZ TAK�E"
uuencode(1), uudecode(1), patch(1)
.br
.SH OSTRZE�ENIA
Dziwaczno�� narz�dzi dor�wnuje dziwaczno�ci m�zgu tw�rcy.
U�ywaj wy��cznie na w�asn� odpowiedzialno��. Kopiuj pliki. Analizuj
je. Sta� si� czarodziejem.
.br
.SH WERSJA
Strona podr�cznika opisuje xxd w wersji 1.7
.SH AUTOR
.br
(c) 1990-1997 by Juergen Weigert
.br
<jnweiger@informatik.uni-erlangen.de>
.LP
Kopiuj do woli i podaj moje dane,
.br
zarabiaj pieni�dze i dziel si� ze mn�,
.br
tra� pieni�dze i nie miej do mnie pretensji.
.PP
Strona podr�cznika zapocz�tkowana przez Tony'ego Nugenta
.br
<tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
.br
Ma�e zmiany: Bram Moolenaar.
Redakcja: Juergen Weigert.
.PP
